$(function(){
    
    var metodologia = 
        $.ajax({
            url: 'intranet/exame/metodologias',
            datatype: "json",
            async: false,
            success: function(resultado){
                if (!resultado)
                    alert('Não foi possível carregar as metodologias');
                }
        }).responseText;
    
    jQuery("#gridExame").jqGrid({
        caption: "Exame",
        url: "intranet/exame/lista",
        editurl: "intranet/exame/crud",
	datatype: "json",
	colNames:['Nome Completo', 'Nome Abreviado', 'Exame Obrigatório', 'Metodologia', 'Doença associada',
            'Tipo Resultado', 'Valor Referência', 'Ações'],
	colModel:[
            {name:'nomeLongo', index:'nomeLongo', width:250, align:"center",
                editable:true, editrules:{required:true},
                editoptions:{size: 50, maxlength: 100},
                formoptions:{elmsuffix:' *'}},
            {name:'nomeCurto', index:'nomeCurto', hidden:true, 
                editable:true, editrules:{required:true, edithidden: true},
                editoptions:{size: 50, maxlength: 100},
                formoptions:{elmsuffix:' *'}},
            {name:'eObrigatorio', index:'eObrigatorio', width:150, align:"center", 
                editable:true, editrules:{required:true},
                edittype:"select",
                editoptions: {value:'1:SIM;0:NÃO'},
                formoptions:{elmsuffix:' *'}},
            {name:'metodologia', index:'metodologia', hidden:true, 
                editable:true, editrules:{required:true, edithidden: true},
                edittype:'select',
                formoptions:{elmsuffix:' *'}},
            {name:'nomeDoenca', index:'nomeDoenca', hidden:true,
                editable:true, editrules:{edithidden: true},
                editoptions:{size: 30, maxlength: 30}},
            {name:'tipoResultado', index:'tipoResultado', width:100, align:"center", search:false, 
                editable:true, editrules:{required:true},
                edittype:"select",
                editoptions: {value:'DO:DO/CO;TI:TI;BA:BA'},
                formoptions:{elmsuffix:' *'}},
            {name:'valorReferencia', index:'valorReferencia', hidden:true, 
                editable:true, editrules:{edithidden: true},
                edittype:'textarea',
                editoptions:{rows:"2",cols:"48"}},
            {name:'acoes',index:'acoes', width:90, align:"center", sortable:false, search: false}
	],
        loadComplete: function(){
            $('#gridExame').setColProp('metodologia', {editoptions: {value: metodologia}});
        },
	//rowNum: 10,
	//rowList: [10,20,30,50,100],
	width: 900,
	height: 200,
	pager: '#navExame',
	sortname: "nomeCurto",
	sortorder: "ASC",
	multiselect: false,
	viewrecords: true,
        scroll:true,
        loadonce:true,
        ignoreCase:true,
        toolbar: [true,"top"],
	gridComplete: function(){
            var ids = jQuery("#gridExame").jqGrid('getDataIDs');				
            for(var i=0; i < ids.length; i++){
                var cl = ids[i];
                be = '<img class="btnAlterar" rel="'+cl+'" src="public/images/pencil.png" title="Alterar" style="cursor:pointer; margin:2px" />';
                se = '<img class="btnVisualizar" rel="'+cl+'" src="public/images/lupa.png" title="Visualizar" style="cursor:pointer; margin:2px" />';
                ce = '<img class="btnDeletar" rel="'+cl+'" src="public/images/cross.png" title="Deletar" style="cursor:pointer; margin:2px" />';
                jQuery("#gridExame").jqGrid('setRowData',ids[i],{acoes:be+ce+se});
            }
            $('.btnAlterar').click(function(){
                var idExame = $(this).attr('rel');
                jQuery('#gridExame').jqGrid('editGridRow',idExame, {width:590, savekey:[true,13], checkOnSubmit:true,
                    closeAfterEdit:true, viewPagerButtons:false, bottominfo:"Os campos marcados com (*) são obrigatórios",
                    afterComplete: function(resposta){
                        var resultado = resposta.responseText;
                        if(resultado == 1){
                            alert('Operação realizada com sucesso.');
                            intranet.carregaModulo('intranet/exame/');
                        }else if(resultado == 2){
                            alert('Não foi possível realizar a operação.\nJá existe exame cadastrado com este nome.')
                            intranet.carregaModulo('intranet/exame/');
                        }else{
                            alert('Não foi possível realizar a operação.');
                        }
                    }
                });
            });
            $('.btnVisualizar').click(function(){
                var idExame = $(this).attr('rel');
                jQuery('#gridExame').jqGrid('viewGridRow',idExame,{width:590, viewPagerButtons:false,
                    beforeShowForm: function(formid){
                        $('#trv_acoes', formid).hide();
                    }
                });
            });
            $('.btnDeletar').click(function(){
                var idExame = $(this).attr('rel');
                jQuery('#gridExame').jqGrid('delGridRow',idExame, { msg:"Apagar registro selecionado?",
                    afterComplete: function(resposta){
                        var resultado = resposta.responseText;
                        if(resultado == 1){
                            alert('Operação realizada com sucesso.');
                        }else{
                            alert('Não foi possível realizar a operação.');
                        }
                    }
                });
            });
        }
     }).navGrid("#navExame",{
            edit: false,
            add: false,
            del: false,
            search: false,
            view: false,
            refresh: false
    });
});

$("#t_gridExame").append("<input type='image' src='public/images/adicionar.png' align='right' style='height:20px;font-size:-3'/>");
$("input","#t_gridExame").click(function(){
    jQuery("#gridExame").jqGrid('editGridRow',"new",{width:590, savekey:[true,13],
        bottominfo: "Os campos marcados com (*) são obrigatórios",
        afterComplete: function(resposta){
            var resultado = resposta.responseText;
            if(resultado == 1){
                alert('Operação realizada com sucesso.');
                intranet.carregaModulo('intranet/exame/');
            }else if(resultado == 2){
                alert('Não foi possível realizar a operação.\nJá existe exame cadastrado com este nome.')
                intranet.carregaModulo('intranet/exame/');
            }else{
                alert('Não foi possível realizar a operação.');
            }
        }
    });
});
jQuery("#gridExame").jqGrid('filterToolbar',{stringResult:true, searchOnEnter:false});